Auto-negotiation is the conventional term used for a technique according to which devices at each end of a link ‘advertise’ their technical abilities, such as the rate or rates at which the devices can operate. Auto-negotiation is used to perform an arbitration process that establishes the common modes (e.g., full duplex or half duplex) that exist between the two devices and allows the devices to resolve to a single mode of operation using a predetermined priority resolution function. During auto-negotiation, the devices establish a data rate and start time for beginning communication as well as determining which device will act as master and which device will act as slave during the communication between the two devices.
Auto-negotiation is performed by the PHY layer of a device before the PHY commits to powering up in a specific operating mode. Traditionally, the mechanism for auto-negotiation has been to pass information encapsulated within a burst of closely spaced link integrity test pulses, commonly called fast link pulses when auto-negotiation is performed according to IEEE Standard 802.3. Various standards for auto-negotiation specify various state machines or their equivalent that will generate, transmit, and receive the relevant link pulses. The state machines have access to various registers that contain coded signals identifying the technological abilities of the relevant device as well as the technological abilities or possible modes of operation of the link partner device at the other end of the link (e.g., cable), as determined by an examination of received link pulses. During auto-negotiation, pages are transmitted that include coded signals within the aforementioned link pulses. These pages (which are referred to herein as “auto-negotiation pages”) include a ‘Base Page’ of which the prescribed fields indicate the various technological abilities of the relevant device.